package org.x.api.system.dto;

import lombok.AllArgsConstructor;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Set;

@Data
public class UserDTO implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 主键ID
     */

    private String id;
    /**
     * 所属租户ID
     */
    private String tenantId;

    /**
     * 用户名（唯一）
     */
    private String username;

    /**
     * 加密后的密码（推荐BCrypt）
     */
    private String password;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 是否锁定（0-否，1-是）
     */
    private Byte isLocked;

    private LocalDateTime createTime;

    private Set<String> roles;

    // 账户状态字段
    private boolean accountNonExpired = true;
    private boolean accountNonLocked = true;
    private boolean credentialsNonExpired = true;
    private boolean enabled = true;
}
